Aleksey Kladov [Mon, 17 Jul 2017 10:10:47 +0000 (13:10 +0300)]
Allow `src/bench.rs` as a benchmark for legacy reasons
closes #4287
cc #3947
bors [Thu, 13 Jul 2017 14:48:46 +0000 (14:48 +0000)]
Auto merge of #4279 - tee-too:fix-3499, r=alexcrichton
Fix support of `[target.'cfg(...)']` syntax for rustc and rustdoc flags
Support of `[target.'cfg(...)']` for rustc and rustdoc flags is buggy.
This adds meaningful tests and fixes the issue.
Fixes #3499
tee-too [Thu, 13 Jul 2017 11:24:28 +0000 (13:24 +0200)]
Fix support of `[target.'cfg(...)']` syntax for rustc and rustdoc flags
Support of `[target.'cfg(...)']` for rustc and rustdoc flags is buggy.
This adds meaningful tests and fixes the issue.
Fixes #3499
bors [Thu, 13 Jul 2017 04:58:41 +0000 (04:58 +0000)]
Auto merge of #4278 - mbrubeck:path, r=alexcrichton
Don't push empty paths in LD_LIBRARY_PATH
Fixes #4277. Note: I haven't written a test for this fix yet.
Matt Brubeck [Thu, 13 Jul 2017 03:28:39 +0000 (20:28 -0700)]
Don't push empty paths in LD_LIBRARY_PATH
Fixes #4277.
bors [Wed, 12 Jul 2017 21:17:06 +0000 (21:17 +0000)]
Auto merge of #4275 - alexcrichton:revert-makeflags, r=alexcrichton
Don't set MAKEFLAGS for build scripts
Closes #4156
Closes rust-lang/rust#42635
Alex Crichton [Wed, 12 Jul 2017 21:15:56 +0000 (14:15 -0700)]
Don't set MAKEFLAGS for build scripts
Closes #4156
Closes rust-lang/rust#42635
bors [Wed, 12 Jul 2017 17:26:25 +0000 (17:26 +0000)]
Auto merge of #4274 - sfackler:patch-1, r=alexcrichton
Add CircleCI badge to manifest reference
rust-lang/crates.io#807
Steven Fackler [Wed, 12 Jul 2017 17:12:25 +0000 (10:12 -0700)]
Add CircleCI badge to manifest reference
rust-lang/crates.io#807
bors [Wed, 12 Jul 2017 09:04:18 +0000 (09:04 +0000)]
Auto merge of #4272 - behnam:doc, r=alexcrichton
[doc/crates-io] Add text about packaging tests/benches
Fixes <https://github.com/rust-lang/cargo/issues/4262>
Behnam Esfahbod [Tue, 11 Jul 2017 19:11:31 +0000 (13:11 -0600)]
[doc/crates-io] Add text about packaging tests/benches
Fixes <https://github.com/rust-lang/cargo/issues/4262>
bors [Tue, 11 Jul 2017 19:13:22 +0000 (19:13 +0000)]
Auto merge of #4259 - matklad:conventions, r=alexcrichton
Conventions
r? @alexcrichton
I'd love to refactor our handing of inferring targets by convention, because it is super difficult to understand, and quite probably contains a couple of unintended/undocumented conventions (like `src/foo.rs` being a binary `foo` if there's no library in the package).
As a first step, I've just moved all the logic (600 loc) to a separate file from the `toml.rs` file, which used to be just **huge** (we even use in in IntelliJ Rust for performance testing :) ), and now it is "only" just above 1kloc :)
bors [Mon, 10 Jul 2017 17:08:27 +0000 (17:08 +0000)]
Auto merge of #4267 - natboehm:add-index-flag-search, r=matklad
Replace `cargo search --host` with `cargo search --index`
This change makes the command consistent with other versions of the same flag. `cargo search --host` is still supported, as well as `cargo search --index <index> --host <host>` in case of confusion. The three commands currently supported should produce the same behavior. All instances of `--host` are currently marked as deprecated, or for reuse as mentioned in issue #4208.
Fixes #4219
Natalie Boehm [Mon, 10 Jul 2017 15:22:01 +0000 (11:22 -0400)]
Modified tests to use '--index' instead of '--host', added test to support using '--host' with warning message, added test to support using both '--host' and '--index' with warning message for host
Natalie Boehm [Mon, 10 Jul 2017 15:19:57 +0000 (11:19 -0400)]
rename '--host' to '--index', add comments marked as TODO where host should be removed/repurposed
bors [Mon, 10 Jul 2017 14:27:19 +0000 (14:27 +0000)]
Auto merge of #4266 - nrc:force, r=alexcrichton
Add a way to force a unit of work to always be rebuilt
Nick Cameron [Mon, 10 Jul 2017 02:09:56 +0000 (14:09 +1200)]
Add a way to force a unit of work to always be rebuilt
Aleksey Kladov [Sun, 9 Jul 2017 14:35:12 +0000 (17:35 +0300)]
Rearrange code
Aleksey Kladov [Sun, 9 Jul 2017 14:30:37 +0000 (17:30 +0300)]
Simplify
Aleksey Kladov [Sun, 9 Jul 2017 13:59:26 +0000 (16:59 +0300)]
Use Path::join instead of `/`
While `/` do work on windows, the resulting path will have literal `/`
in its display.
Aleksey Kladov [Sun, 9 Jul 2017 13:27:08 +0000 (16:27 +0300)]
Fix more tests
Aleksey Kladov [Sun, 9 Jul 2017 13:18:53 +0000 (16:18 +0300)]
Use the same logic for benches
Aleksey Kladov [Sun, 9 Jul 2017 12:57:25 +0000 (15:57 +0300)]
Warn about obsolete conventions for binary names
Aleksey Kladov [Sun, 9 Jul 2017 11:07:36 +0000 (14:07 +0300)]
Remove Layout structure
Aleksey Kladov [Sun, 9 Jul 2017 10:31:42 +0000 (13:31 +0300)]
Fix tests
Aleksey Kladov [Sun, 9 Jul 2017 10:10:24 +0000 (13:10 +0300)]
Merge duplicate tests
Aleksey Kladov [Sun, 9 Jul 2017 10:03:22 +0000 (13:03 +0300)]
Warn about legacy library paths
Aleksey Kladov [Sun, 9 Jul 2017 08:48:54 +0000 (11:48 +0300)]
Specify conventions for benches, examples and tests only once
Aleksey Kladov [Sun, 9 Jul 2017 08:08:21 +0000 (11:08 +0300)]
Infer benches, tests and examples without layout
Aleksey Kladov [Sat, 8 Jul 2017 22:31:43 +0000 (01:31 +0300)]
Reduce code duplication in validation
Aleksey Kladov [Sat, 8 Jul 2017 21:59:31 +0000 (00:59 +0300)]
Unify error message formatting
Aleksey Kladov [Sat, 8 Jul 2017 21:58:25 +0000 (00:58 +0300)]
Unify parameter order
Aleksey Kladov [Sat, 8 Jul 2017 21:55:38 +0000 (00:55 +0300)]
Reduce code duplication & fix error messages
Aleksey Kladov [Sat, 8 Jul 2017 21:35:05 +0000 (00:35 +0300)]
Jettison normalize function and its closures!
Aleksey Kladov [Sat, 8 Jul 2017 21:30:38 +0000 (00:30 +0300)]
Extract clean_benches function
Aleksey Kladov [Sat, 8 Jul 2017 21:10:04 +0000 (00:10 +0300)]
Extract clean_tests function
Aleksey Kladov [Sat, 8 Jul 2017 20:53:09 +0000 (23:53 +0300)]
Extract clean_examples function
Aleksey Kladov [Sat, 8 Jul 2017 20:19:31 +0000 (23:19 +0300)]
Extract clean_bins function
Aleksey Kladov [Sat, 8 Jul 2017 19:51:42 +0000 (22:51 +0300)]
Extract clean_library function
Aleksey Kladov [Sat, 8 Jul 2017 18:35:52 +0000 (21:35 +0300)]
Don't store root in the layout
Aleksey Kladov [Sat, 8 Jul 2017 18:46:06 +0000 (21:46 +0300)]
Unify naming for `package_root`
Aleksey Kladov [Sat, 8 Jul 2017 16:48:46 +0000 (19:48 +0300)]
Superfluous pub
Aleksey Kladov [Sat, 8 Jul 2017 16:45:07 +0000 (19:45 +0300)]
Restructure code
Aleksey Kladov [Sat, 8 Jul 2017 16:11:36 +0000 (19:11 +0300)]
Make layout private to targets
Aleksey Kladov [Sat, 8 Jul 2017 16:00:31 +0000 (19:00 +0300)]
Move code for inferring build targets to a separate file
Aleksey Kladov [Sun, 2 Jul 2017 09:17:26 +0000 (12:17 +0300)]
Fix typo
Aleksey Kladov [Sun, 2 Jul 2017 09:08:49 +0000 (12:08 +0300)]
Refactor: virtual manifest does not need layout
Aleksey Kladov [Sun, 2 Jul 2017 08:32:48 +0000 (11:32 +0300)]
Simplify
Aleksey Kladov [Sun, 2 Jul 2017 08:24:55 +0000 (11:24 +0300)]
Simplify
Aleksey Kladov [Sun, 2 Jul 2017 08:01:25 +0000 (11:01 +0300)]
Make `Layout` a private implementation detail of toml
bors [Fri, 7 Jul 2017 21:21:06 +0000 (21:21 +0000)]
Auto merge of #4257 - alexcrichton:update, r=alexcrichton
Update dependencies with semver-compat version
Just a standard update
Alex Crichton [Fri, 7 Jul 2017 21:01:40 +0000 (14:01 -0700)]
Update dependencies with semver-compat version
Just a standard update
bors [Wed, 5 Jul 2017 14:19:07 +0000 (14:19 +0000)]
Auto merge of #4248 - dethoter:issue-4228, r=alexcrichton
bench command supports --no-fail-fast flag.
Fix for #4228.
bors [Wed, 5 Jul 2017 13:58:20 +0000 (13:58 +0000)]
Auto merge of #4249 - tmccombs:zsh-test-update, r=alexcrichton
Add more options for cargo test zsh completion
Thayne McCombs [Wed, 5 Jul 2017 07:19:58 +0000 (01:19 -0600)]
Add more options for cargo test zsh completion
Evgen Druzhynin [Tue, 4 Jul 2017 16:48:28 +0000 (19:48 +0300)]
bench command supports --no-fail-fast flag.
bors [Sun, 2 Jul 2017 13:44:07 +0000 (13:44 +0000)]
Auto merge of #4246 - est31:master, r=Mark-Simulacrum
Let two further tests tolerate col info in panics
Needed by https://github.com/rust-lang/rust/pull/42938
I've now ripgrepped for "panicked at" and found no further
test that hardcodes the "filename:line$" format.
est31 [Sun, 2 Jul 2017 13:38:29 +0000 (15:38 +0200)]
Let two further tests tolerate col info in panics
Needed by https://github.com/rust-lang/rust/pull/42938
I've now ripgrepped for "panicked at" and found no further
test that hardcodes the "filename:line$" format.
bors [Sun, 2 Jul 2017 11:08:30 +0000 (11:08 +0000)]
Auto merge of #4244 - est31:master, r=matklad
Let the cargo_bench_failing_test tolerate col info
Needed by https://github.com/rust-lang/rust/pull/42938
est31 [Sun, 2 Jul 2017 11:04:16 +0000 (13:04 +0200)]
Let the cargo_bench_failing_test tolerate col info
Needed by https://github.com/rust-lang/rust/pull/42938
bors [Fri, 30 Jun 2017 05:49:34 +0000 (05:49 +0000)]
Auto merge of #4239 - Keruspe:master, r=alexcrichton
hash '__CARGO_DEFAULT_LIB_METADATA' in metadata for rustc
We already have __CARGO_DEFAULT_LIB_METADATA to force adding the hash of some metadata in the libraries file name when building rust.
For now, we only check if it is set or not.
This patch makes also use of its value to compute the hash. This way we'll be able to pass in the channel we're building to avoid hash collisions between channels.
bors [Fri, 30 Jun 2017 05:29:30 +0000 (05:29 +0000)]
Auto merge of #4214 - msehnout:master, r=matklad
Infer multi-file binaries like `src/bin/server/main.rs` by convention
This feature is described in issue #4086
bors [Thu, 29 Jun 2017 18:31:16 +0000 (18:31 +0000)]
Auto merge of #4238 - ashleygwilliams:policies, r=steveklabnik
updates to policies
based on convo with @withoutboats and @carols10cents
Marc-Antoine Perennou [Thu, 15 Jun 2017 14:48:05 +0000 (16:48 +0200)]
hash '__CARGO_DEFAULT_LIB_METADATA' in metadata for rustc
This will let us seed the release channel as part of the
metadata used for the hash to avoid conflicting hashes across
channels.
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
Martin Sehnoutka [Thu, 29 Jun 2017 07:53:57 +0000 (09:53 +0200)]
Add documentation for multi-file binary convention
Martin Sehnoutka [Thu, 29 Jun 2017 07:52:40 +0000 (09:52 +0200)]
Prevent unnecessary heap allocations and simplify condition
bors [Thu, 29 Jun 2017 01:01:27 +0000 (01:01 +0000)]
Auto merge of #4234 - michaelwoerister:smarter-cargo-incremental-2, r=alexcrichton
Set -Ccodegen-units=N for non-path dependencies when CARGO_INCREMENTAL is set.
This PR tweaks compilation for non-path dependencies when CARGO_INCREMENTAL is set. Before, `cargo` would compile such dependencies "just" non-incrementally while, with this PR, it will also set the number of CGUs to the number of CPU cores. Otherwise compiling those dependencies might take significantly longer (because of more expensive optimizations and less multi-threading) than compiling them incrementally -- which is what we wanted to avoid in the first place.
Ashley Williams [Thu, 29 Jun 2017 00:16:00 +0000 (20:16 -0400)]
feat(policy): add information on security disclosures
Ashley Williams [Thu, 29 Jun 2017 00:10:36 +0000 (20:10 -0400)]
fix(doc): clarify the content the code of conduct covers
Martin Sehnoutka [Wed, 28 Jun 2017 12:02:25 +0000 (14:02 +0200)]
"main" can be valid name for binary again, improve test
bors [Wed, 28 Jun 2017 06:39:50 +0000 (06:39 +0000)]
Auto merge of #4229 - azerupi:install-version-range, r=matklad
Implement semver ranges for install --vers
This implements the design discussed in #4207
It allows to specify semver ranges on `cargo install ... --vers`
1. The first character of the `--vers` value is checked, if there is none we return an error.
2. If it is one of `<`, `>`, `=`, `^`, `~` we parse the value as a `VersionReq`, otherwise we parse it as a `Version`.
3. If the parsing as a `Version` fails but parsing as `VersionReq` succeeds, we add a note to the warning mentioning that a qualifier should be used to specify a semver range. This catches versions with less than tree digits.
Otherwise, the previous behaviour is preserved with the warning of backwards compatibility.
This means that
- `cargo install ... --vers "^1.2.3"` will be parsed as a range
- `cargo install ... --vers 1.2.3` will be parsed as a version
- `cargo install ... --vers 1.2` will be parsed as a version for backwards compatibility reasons, fail and be passed through as is,**but** we will add a note `if you want to specify semver range, add an explicit qualifier, like ^1.2`
- `cargo install ... --vers blah` will be parsed as a version for backwards compatibility reasons (which is weird because it is not even a valid semver range) and produce an `unknown error` down the line. I have left this behaviour untouched because it worked like that before, but I can easily make it error sooner with a better message.
Michael Woerister [Tue, 27 Jun 2017 22:25:07 +0000 (15:25 -0700)]
Set -Ccodegen-units=N for non-path dependencies when CARGO_INCREMENTAL is set.
Sehny [Tue, 27 Jun 2017 17:51:56 +0000 (19:51 +0200)]
Infer paths as well as names for binaries
Mathieu David [Tue, 27 Jun 2017 10:23:44 +0000 (12:23 +0200)]
Remove extra blank lines and commas on last match arm for consistency
bors [Tue, 27 Jun 2017 00:42:29 +0000 (00:42 +0000)]
Auto merge of #4230 - Mark-Simulacrum:double-print, r=alexcrichton
Prevent rustc stderr/stdout from being duplicated.
Please review carefully. I've not submitted patches to Cargo before, I think, so this may be flawed in some way I haven't detected yet. Tests are green locally, though.
Fixes #4223
Mark Simulacrum [Mon, 26 Jun 2017 23:07:36 +0000 (17:07 -0600)]
Prevent rustc stderr/stdout from being duplicated.
bors [Mon, 26 Jun 2017 20:47:52 +0000 (20:47 +0000)]
Auto merge of #4227 - YaLTeR:version-field-fix, r=alexcrichton
Clarify how breaking changes should be handled before 1.0.0
Resolves #4064
Mathieu David [Mon, 26 Jun 2017 20:44:13 +0000 (22:44 +0200)]
Implement semver ranges for install --vers
Ivan Molodetskikh [Mon, 26 Jun 2017 11:05:20 +0000 (14:05 +0300)]
Clarify how breaking changes should be handled before 1.0.0
bors [Sun, 25 Jun 2017 05:44:31 +0000 (05:44 +0000)]
Auto merge of #4218 - alexcrichton:fix-flaky, r=alexcrichton
Ignore a test that accesses crates.io for now
Tests in general shouldn't hit the network, but this one requires a crate from
crates.io :(
Alex Crichton [Sun, 25 Jun 2017 05:43:45 +0000 (22:43 -0700)]
Ignore a test that accesses crates.io for now
Tests in general shouldn't hit the network, but this one requires a crate from
crates.io :(
bors [Sat, 24 Jun 2017 04:24:55 +0000 (04:24 +0000)]
Auto merge of #4209 - natboehm:add-index-flag, r=alexcrichton
Replace `cargo publish --host` with `cargo publish --index`
This change makes the command consistent with other versions with the same flag. `cargo publish --host` is still supported, currently marked as deprecated, or for reuse as mentioned in issue #4208.
Fixes #3797
bors [Fri, 23 Jun 2017 22:41:47 +0000 (22:41 +0000)]
Auto merge of #4215 - alexcrichton:search-stdout, r=matklad
Switch `cargo search` output to stdout
Closes #4203
Alex Crichton [Fri, 23 Jun 2017 15:45:12 +0000 (08:45 -0700)]
Switch `cargo search` output to stdout
Closes #4203
Martin Sehnoutka [Fri, 23 Jun 2017 15:37:26 +0000 (17:37 +0200)]
Infer multi-file binaries like `src/bin/server/main.rs` by convention
Natalie Boehm [Thu, 22 Jun 2017 20:34:57 +0000 (16:34 -0400)]
Added comments indicating which parts should be removed at appropriate time
Natalie Boehm [Thu, 22 Jun 2017 19:47:07 +0000 (15:47 -0400)]
Add test for if user ever decides to use both --index and --host
Natalie Boehm [Thu, 22 Jun 2017 19:32:30 +0000 (15:32 -0400)]
replace instances of flag --host with --index in publish, still supports --host however deprecation warning is issued
bors [Wed, 21 Jun 2017 18:26:14 +0000 (18:26 +0000)]
Auto merge of #4201 - alexcrichton:more-human, r=matklad
Flag crate registry errors as "human"
They often contain useful information!
Closes #4200
bors [Wed, 21 Jun 2017 17:49:38 +0000 (17:49 +0000)]
Auto merge of #4202 - dethoter:issue-4199, r=alexcrichton
Fix an incorrect merge of credentials. Add a new test for that.
Fix for #4199.
Evgen Druzhynin [Wed, 21 Jun 2017 16:48:40 +0000 (19:48 +0300)]
Fix an incorrect merge of credentials. Add a new test for that.
Alex Crichton [Wed, 21 Jun 2017 15:11:08 +0000 (08:11 -0700)]
Flag crate registry errors as "human"
They often contain useful information!
Closes #4200
bors [Wed, 21 Jun 2017 14:04:55 +0000 (14:04 +0000)]
Auto merge of #4196 - gilescope:multiline_assert, r=alexcrichton
Multiline assert
Found a second location where multiline assert_eq failure breaks a test.
This is an extention of #4181.
bors [Wed, 21 Jun 2017 12:11:25 +0000 (12:11 +0000)]
Auto merge of #4180 - pnkfelix:issue-4135, r=alexcrichton
Issue 4135: include = [...] should override git file list
Fix #4135: if theres `include = [...]`, then do not prepopulate file list via git.
Squirrel [Wed, 21 Jun 2017 10:15:17 +0000 (11:15 +0100)]
Merge branch 'master' into multiline_assert
Felix S. Klock II [Fri, 16 Jun 2017 15:54:59 +0000 (17:54 +0200)]
Regression test for issue #4135.
Giles Cope [Tue, 20 Jun 2017 22:14:15 +0000 (23:14 +0100)]
Prep for asser_eq failure msg format change.
bors [Mon, 19 Jun 2017 17:43:46 +0000 (17:43 +0000)]
Auto merge of #4190 - alexcrichton:wincosole-fix, r=alexcrichton
Update wincolor
Helps mitigate #4189
Alex Crichton [Mon, 19 Jun 2017 17:42:58 +0000 (10:42 -0700)]
Update wincolor
Helps mitigate #4189
bors [Mon, 19 Jun 2017 14:09:30 +0000 (14:09 +0000)]
Auto merge of #4181 - gilescope:patch-1, r=alexcrichton
Make test less brittle prior to assert_eq failure message format change
PR required for rust-lang/rust#42541 to make assert_eq error message be multi-line. Before implementing this we need to make the current test less brittle.
Not 100% clear on if I need the final [...] or not.